package com.douglas.managesystem.service.file.impl;

import com.douglas.managesystem.common.SearchEntity;
import com.douglas.managesystem.dao.FileManageMapper;
import com.douglas.managesystem.entity.FileManage;
import com.douglas.managesystem.service.file.FileManageService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Description 文件管理业务实现
 * @Author 以梦为馬 <Douglas1314@126.com>
 * @Version V1.0.0
 * @Date 2020-10-29 11:02
 **/
@Service
@SuppressWarnings("all")
public class FileManageServiceImpl implements FileManageService {


    @Autowired
    private FileManageMapper fileManageMapper;

    /**
     * 1.分页查询文件列表
     * @param params
     * @return
     */
    @Override
    public PageInfo<FileManage> queryListByPage(SearchEntity params) {
        // 1.判断分页参数是否为空，如果为空设置默认值
        if(params.getPageNum() == null || params.getPageNum() == 0){
            // 当前页码为默认1
            params.setPageNum(1);
        }
        // 2.判断当前每页大小 设置默认值为10
        if(params.getPageSize() == null || params.getPageSize() == 0){
            params.setPageSize(5);
        }
        //3.给pageHelper设置当前页码和每页大小 自动计算起始条数
        PageHelper.startPage(params.getPageNum(),params.getPageSize());
        //4.调用数据库查询
        List<FileManage> list = fileManageMapper.queryListByPage(params.getEntity());
        //5.创建返回对象
        PageInfo<FileManage> pageInfo = new PageInfo<>(list);
        return pageInfo;
    }

    /**
     * 2.新增文件
     * @param fileManage
     */
    @Override
    public void save(FileManage fileManage) {
        fileManageMapper.insertFileManage(fileManage);
    }

    /**
     * 3.根据id查询文件
     * @param id
     * @return
     */
    @Override
    public FileManage queryFileById(String id) {
        return fileManageMapper.queryFileById(id);
    }

    /**
     * 4.删除文件
     * @param id
     */
    @Override
    public void deleteFileById(String id) {
        fileManageMapper.deleteFileById(id);
    }
}
